Amazon Athena
https://gyazo.com/164a8d3f2d70350b98dd77118c357efb
基本構成は以下の図の通り
https://gyazo.com/dda4d99ab6be0857ffed398867834706
利用時
利用するための準備
1. S3にdataを保存する
S3にあるだけではtable定義がsystemにわからない
Glue Crawlerにて自動でtable定義を取得する
3. Lake FormationにS3 pathを登録する
「このtableの中身を見れるか?」はIAMとS3両方の設定を見にいく必要性
めんどくさいtsawada.icon
Lake FormationにS3 pathを登録すると「IAM policy」「S3 bucket Policy」が無効化される
Management ConsoleでLake FormationのPermissionをみる
全ての権限が一覧で見られる
Athenaは使うための準備にコツがいる
理由は「RDBMSの仕組みを擬似的に実現している」ため RDBMSの「DB構築」と似た手順が必要
1. Dataの「構造」を定義する
2. 構造に合わせてDataを格納する(これはS3)
「構造の定義」は3種類のやり方がある
Athenaにて先に宣言する
SQLのCREATEステートメントで宣言する
AWS Glue上で定義する
Glueの「Crawler」機能で、自動で定義する
NPではこれが主流tsawada.icon
一番手軽なため
他手段だと、table構造を明文化しないといけない
SQLにも方言があり、Preztoに合ったSQLじゃないと動かない
Prezto自体はFacebookが公開した仕組み
Preztoのチャーミングなポイントが二つ
分散処理基盤であること(=大規模Dataを扱える)
バッチ処理じゃないこと(=リアルタイムですぐ結果が返ってくる)
Athenaを使いこなす上で知っておきたい知識